/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */



Paginador = function(divPaginador, tabla, tamPagina)

{

    this.miDiv = divPaginador; 

    this.tabla = tabla;           //la tabla a paginar

    this.tamPagina = tamPagina; //el tamao de la pgina (filas por pgina)

    this.pagActual = 1;         //asumiendo que se parte en pgina 1

    this.paginas = Math.round((this.tabla.rows.length - 1) / this.tamPagina);

    this.SetPagina = function(num)

    {

        if (num < 0 || num > this.paginas)
        return;

        this.pagActual = num;

        var min = 1 + (this.pagActual - 1) * this.tamPagina;

        var max = min + this.tamPagina - 1;

        for(var i = 1; i < this.tabla.rows.length; i++)

        {

            if (i < min || i > max)

                this.tabla.rows[i].style.display = 'none';

            else

                this.tabla.rows[i].style.display = '';

        }

        this.miDiv.firstChild.rows[0].cells[1].innerHTML = this.pagActual;

    }

 

    this.Mostrar = function()

    {
        //Poner el div
        var divButton = document.createElement('div');
        divButton.setAttribute('class', 'buttons');
        //Crear el boton

        var botonIzq = document.createElement('button');
        botonIzq.setAttribute('class', 'positive');
        botonIzq.setAttribute('type','button');
        //Ahora, agregar una imagen al boton izquierdo
      
        var imagen = document.createElement('img');
        imagen.setAttribute('src', '/CPYD/interfaz/images/left.png');
        
        botonIzq.appendChild(imagen);
        
        divButton.appendChild(botonIzq);
        
           var self = this;
//        
//        
        botonIzq.onclick = function()

        {
            if (self.pagActual == 1)

                return;

            self.SetPagina(self.pagActual - 1);

        }
        //Tabla
        //Para mostrar el numero de paginas y la pagina actual
        var tblPaginador = document.createElement('table');
        tblPaginador.setAttribute('id', 'tabla');
        
        //Agregar una fila a la tabla

        var fil = tblPaginador.insertRow(tblPaginador.rows.length);
        var pagAct = fil.insertCell(fil.cells.length);
        pagAct.innerHTML = '<b> Pagina Actual: </b>';
         //Pagina actual
        var num = fil.insertCell(fil.cells.length);
        num.innerHTML = ''; //en rigor, an no se el nmero de la pgina

           //Numero total de las paginas
	var numPags = fil.insertCell(fil.cells.length);
        numPags.innerHTML= '<b> Numero de paginas: </b>';
        var total = fil.insertCell(fil.cells.length);
        total.innerHTML = this.paginas;
        
      
//		
//        //Crear el boton Derecho
//
        var botonDer = document.createElement('button');
        botonDer.setAttribute('class', 'positive');
        botonDer.setAttribute('type','button');
        //Ahora, agregar una imagen al boton izquierdo

        var imagenD = document.createElement('img');
        imagenD.setAttribute('src', '/CPYD/interfaz/images/right.png');
//        
        botonDer.appendChild(imagenD);
        divButton.appendChild(botonDer);
//     

        botonDer.onclick = function()

        {

            if (self.pagActual == self.paginas)

                return;
            self.SetPagina(self.pagActual + 1);
        }
        //Como ya tengo mi tabla, puedo agregarla al DIV de los controles
      
         this.miDiv.appendChild(tblPaginador); //Agregamos la tabla
          this.miDiv.appendChild(divButton); //Agregamos boton izquierod
          //
        //Aumentar el numero de paginas.
        if (this.tabla.rows.length - 1 > this.paginas * this.tamPagina)
            this.paginas = this.paginas + 1;

        this.SetPagina(this.pagActual);

    }

}
